package com.parfinex.java.phase1.module1.code;
//编程实现：提示用户输入年月日信息，判断这一天是这一年中的第几天并打印
import java.util.Scanner;

public class PrintDay {
    public static void main(String[] args){
        System.out.println("请输入年月日：");//提示用户输入年月日信息
        Scanner sc = new Scanner(System.in);//等待接受用户从键盘输入日期
        int dateNum = sc.nextInt();
        int moonAndDay =dateNum%10000;//求出当前输入日期的月份和日期
        int moon =moonAndDay/100;//提取出当前月份
        int day = moonAndDay%100;//提取出当前日期的当月天数
        int[] moons = new int[12];//定义12个月，给每个月赋于天数
        moons[0] =31;//1月份有31天
        if(((dateNum/10000)%4)==0) {//2月份需要通过判断是否为润年，润年的2月为29天，其他年份为28天
            moons[1] = 29;
        }else {
            moons[1] = 28;
        }
        moons[2]=31;//03月份有31天
        moons[3]=30;//04月份有30天
        moons[4]=31;//05月份有31天
        moons[5]=30;//06月份有30天
        moons[6]=31;//07月份有31天
        moons[7]=31;//08月份有31天
        moons[8]=30;//09月份有30天
        moons[9]=31;//10月份有31天
        moons[10]=30;//11月份有30天
        moons[11]=31;//12月份有31天
        int sum=0;//定义输入的日期累加天数，并初始化为0
        for(int i =0 ; i<(moon-1);i++) {//把当前月份中的天数先相加，比如当前是9月份，加1-8月份的天数
            sum+=moons[i];
        }
        sum +=day;//在把当月中的天数累加
        System.out.println("这个日期是当年中的第："+sum+"天");//最后输出天数
    }
}
